Service Oriented Computing in Robotic
Service Oriented Computing in Robotic
Service Oriented Computing in Robotic
Anis Koubâa
CISTER-TR-190201
2020
Book Chapter CISTER-TR-190201 Service-Oriented Computing in Robotic
Abstract
In this entry, we present an overview on the use of service-oriented architecture and Web services in developing
robotics applications and software integrated with the Internet and the Cloud. This is a recent trend that emerged
since 2010 from the concept of cloud robotics, which leverages the use of cloud infrastructures for robotics
applications following a service-oriented architecture approach. In particular, we distinguish two main categories:
(i) virtualization of robotics systems and (ii) computation offloading from robots to cloud-based services. We
discuss the main approaches proposed in the literature to design robotics systems through the Web and their
integration to the cloud through service-oriented computing framework.
cloud extensive computations. These types of which exposes several operations as Web service
applications typically require high processing methods that can be invoked by the Web service
capabilities and consume considerable energy. client applications. In this excerpt, we observe the
However, the onboard processing capabilities of takeoff Web service method (i.e., operation)
robots, in particular low-cost platforms, might be which can be invoked to take off the drone,
insufficient to handle computation and storage- etc. For every operation, a message is defined
intensive tasks. For this reason, outsourcing for the request, and another is defined for the
computations to more powerful and resource- response, where a message may or may not have a
abundant devices is a current trend nowadays. parameter. For example, in Fig. 1, the takeoff
In what follows, we provide an overview of the operation defines the takeoff message for
main contributions related to the two aforemen- the request, and the takeoffResponse
tioned categories, we outline the key challenges message for the response. Other operations
addressed in each paper, and we discuss the are also defined in the same way. The WSDL
proposed approaches. document represents a contract-like specification
that defines all operations available as services
for the developers and end users. Thus, the client
Virtualization application needs to implement client methods
that invoke these operations on the server.
The virtualization of access to robots means that A message in SOAP can have parameters.
users are able to access robots anywhere and any- The structure of a message and its parameters
time through simple-to-use interfaces, typically are defined in the XML Schema Definition
through the Web or mobile applications. Usually, (XSD) document, which describes the structure
these interfaces rely on services’ abstraction lay- of the WSDL document in XML. Figure 2
ers that connect robots to users or other systems illustrates the XSD document for the WSDL
based on Web service technologies. document of Fig. 1. For example, we observe
that the takeoff message uses two parameters,
Virtualization Technologies which is the ID of a drone to takeoff and also
The main categories of Web services are SOAP the desired altitude. The takeoffResponse
Web services and REST Web services. The reader message returns a boolean response to notify
may refer to Pautasso et al. (2008) for a thorough about the success of the operation. According to
discussion and analysis about the comparison the programming language API, the application
between REST and SOAP Web services. developer will consider the WSDL document as S
On the one hand, SOAP Web services provide a contract to develop the client methods that will
a well-defined contract-based specification of the invoke the Web methods provided by the SOAP
services. Services are described in an XML-based Web service to execute the actions of interest.
language called the Web Services Description It has to be noted that SOAP Web services are
Language (WSDL). Messages are exchanged programming language independent and platform
between the client and the server through a independent.
standardized message exchange protocol using On the other hand, REST is a more lightweight
the SOAP envelope. To illustrate the concept, Web service solution that does not define a for-
Fig. 1 presents an excerpt of WSDL document of mal service specification as with SOAP. The
a SOAP Web service used to access and control interaction between the client and the server is
a drone. We observe that the WSDL document ensured through the basic HTTP protocol. The
defines the messages exchanged and their types, programming abstractions of REST Web services
in addition to the different operations that can are different from those of SOAP. While SOAP is
be executed as a service. For example, in the based on a concrete description of Web services
WSDL of Fig. 1, we identify a Web service in the WSDL document, REST refers to services
called MAVLink Action Web Service, through their Uniform Resource Identifier (URI),
4 Service-Oriented Computing in Robotic
Service-Oriented Computing in Robotic, Fig. 1 Example of a WSDL document of SOAP Web Service to control a
drone
Service-Oriented Computing in Robotic, Fig. 2 Example of a XSD document of SOAP Web Service to control a
drone
WebSockets represent another technology class template in Java. The structure of the code is
that is widely used in the Web for a standard similar in other programming languages. It can be
and platform-independent message exchange be- observed that WebSockets are defined like Web
tween a client and a server. It is a core technology services by an endpoint entry, which defines the
for the IoT and real-time streaming applications. path to the WebSockets resource, similarly to a
It is a bi-directional communication protocol REST URI. In this example, the resource is called
between a client and a server, such that both /mavlink/user/userId/drone/droneId.
parties can exchange messages simultaneously in The event @onOpen processes incoming
full-duplex mode. A connection is open between connections initialization requests and creates
the client and the server following a handshake and manages sessions. The event @onMessage
process, and then both the server and the client intercepts incoming messages and processes
can exchange messages asynchronously and them according to the application logic. The
S
reliably in real time until the connection is event @onClose manages connection closing
explicitly closed by any of the communicating events. For example, in Koubaa et al. (2017b,
entities. The advantage of WebSockets is that it 2019), the Web client application uses a
is supported by major programming languages WebSockets connection with the cloud to receive
such as Java, C/C++, Python, Ruby, JavaScript, the stream of data representing states of a drone
and PHP, to name a few. This allows for an easy through the cloud in real time and displays it
integration of heterogeneous robotics systems. using JavaScript on a Web browser.
WebSockets were used by Osentoski et al. (2011)
and Crick et al. (2011), respectively, to connect Recent Contributions on Robotics
ROS-enabled robots to the Internet. It was also Virtualization
used by Koubaa et al. in (Koubaa et al. 2017b, There are several works that aim at virtualizing
2019; Koubaa and Qureshi 2018) for real-time access to robots using Web services and SOA.
streaming of MAVLink messages (MAVLINK Many of these works target the Robot Operating
2019) between drones and client applications, System (ROS), as a main development frame-
in addition to SOAP and REST Web services. work for robotics applications. In Osentoski et al.
Figure 3 represents an example of a WebSockets (2011) and Crick et al. (2011), the authors pro-
6 Service-Oriented Computing in Robotic
@ServerEndpoint("/mavlink/user/{userId}/drone/{droneId}")
public class WebsocketServer {
/**
* @OnOpen allows us to intercept the creation of a new session.
* The session class allows us to send data to the user.
* In the method onOpen, we'll let the user know that the handshake was
* successful.
*/
@OnOpen
public void onOpen(Session session, @PathParam("userId") String userID,
@PathParam("droneId") String droneID){
//process request to open new Websockets session
}
/**
* When a user sends a message to the server, this method will intercept the
message
* and allow us to react to it. For now the message is read as a String.
*/
@OnMessage
public void onMessage(String message, Session session){
//process incoming messages
}
/**
* The user closes the connection.
*
* Note: you can't send messages to the client from this method
*/
@OnClose
public void onClose(Session session){
//processing when the connection is closed
}
pose the rosjs and the rosbridge middle- RoboWeb allows to monitor and control robots
ware. These works represent a milestone in the through Web services. The service-oriented
integration of ROS into the Web and the In- architecture is composed of three main layers: (1)
ternet. The motivation behind rosbridge and the web interface layer, which uses rosPHP API
rosjs is mainly twofold: (1) to use commonly to access ROS-enabled robots through the web,
available Internet browsers for non-roboticians (2) the service broker that defines a middleware
users to interact with a ROS-enabled robot and that enables interaction between users and robots,
(2) to provide Web developers with no back- and (3) the robot itself, which must support ROS.
ground in robotics with simple interfaces to de- A prototype was implemented and tested on the
velop client applications to control and manipu- Turtlebot robot. The limitation of this work is
late ROS-enabled robots. that SOAP Web services were not integrated into
In Koubaa (2014), the author proposes, ROS ecosystem but were developed externally to
RoboWeb, a robot virtualization service-oriented the ROS ecosystem. Also, no REST Web service
architecture based on SOAP Web services. The interface was proposed.
objective of RoboWeb is to develop a remote In Koubaa (2015), the author addresses the
robotics lab that can seamlessly be accessed by problems of Koubaa (2014) and presents ROS
researchers and students anywhere and anytime. Web services. The objective was to expose ROS
Service-Oriented Computing in Robotic 7
Service-Oriented Computing in Robotic, Fig. 4 DroneMap System Architecture: Abstraction Layers (Koubaa et al.
2017b)
resources as Web services. The innovation of this missions, and promotes collaboration between
paper was to design an object-oriented software them. The architecture is illustrated in Fig. 4.
architecture to integrate Web Services into ROS The Dronemap Planner system is composed of
and exposes its resources (i.e., ROS topics and three abstraction layers. The first layer is the
ROS services) as Web services. Both SOAP and drone, which supports ROS and the MAVLink
REST Web services were proposed. A prototype protocol to communicate through the Internet
implementation was used to demonstrate how with the cloud. The second layer is the cloud
ROS Web services promote portability, reusabil- manager which links the drones to the end user S
ity, and interoperability of ROS-enabled robots applications. The third layer is the end user
with client applications. applications, which is used to monitor and control
In Koubaa et al. (2017b, 2019), Dronemap the drone through the Dronemap Planner cloud
Planner (DP) a service-oriented cloud-based system.
drones management system was proposed The main contribution of Koubaa et al.
for MAVLink-based drones. The entry also (2017b, 2019) consists in deploying a cloud
introduces the concept of Internet of Drones platform that contains a proxy server that relays
(IoD) and discussed their functional and between drones and users. In addition, REST
nonfunctional requirements. In Koubaa and and SOAP Web services interfaces are used
Qureshi (2018), the authors evaluated the real- to allow the user to interact with the cloud to
time performance of the Internet of Drones send commands to the drones. Experimental
using a GPS-based tracking application. Also in deployment demonstrates that Dronemap Planner
Gharibi et al. (2016), the authors proposed their is effective in virtualizing the access to drones
vision and architecture for IoD. DP provides over the Internet and provides developers with
seamless access to drones through SOAP and appropriate APIs to easily program drones’
REST Web service technologies, schedules their applications.
8 Service-Oriented Computing in Robotic
In Koubaa et al. (2017a), the authors propose model between cloud computing resources and
ROSLink as a new alternative to integrate ROS drone resources. In addition, two types of ser-
into the Internet of Things. The authors started vices including essential services and customized
from the observation that previous works in the services were proposed. The entry only provides
literature proposed to develop robot-centric ap- a high-level description of the system architec-
proach meaning that a Web server is developed ture, components, and services without any spe-
in the ROS robot machine to deliver data from cific details on their implementation.
the robot to the clients. This was demonstrated to In Mahmoud and Mohamed (2015), the au-
restrict the scalability of the system as the server thors of Mahmoud and Mohamed (2014) ex-
is centralized in the robot itself. In addition, the tended their approach and designed a REST ar-
deployment of robot-centered solutions on the In- chitecture using a resource-oriented architecture
ternet is rather difficult as the robot needs to have (ROA) model to represent the services and re-
a public IP address or be accessible through a sources of drones. In addition, a broker that dis-
NAT forwarding port when it is inside a local area patches mission requests to available UAVs was
network. The idea behind ROSLink is three-tier proposed. The broker is responsible for managing
client/server model, where the clients are imple- the UAVs, their missions, and their interactions
mented in both the robot and the user, whereas the with the client. The authors validated their pro-
server is deployed on a cloud infrastructure on the posal on a simple Arduino board that emulates a
Internet with a public IP address. The cloud man- UAV and its resources, which represents a limi-
ager of the Dronemap Planner system (Koubaa tation, because it does not show a comprehensive
et al. 2019) was extended to also support the proof of concept on real drones.
ROSLink protocol. The ROSLink architecture Some other recent approaches consider more
is presented in Fig. 5. The three-tier ROSLink generic models for SOA to access robots without
architecture represents a possible approach of the use of Web services. In 2014, Brugali et al.
implementing service-oriented computing system propose the Task Component Architecture (TCA)
for robotics that allows for seamless access of for the seamless integration of the Service Com-
ROS-enabled robots through the Internet. ponent Architecture (SCA) into robotics software
The authors describe the communication pro- control systems to execute asynchronous tasks.
tocol specification of ROSLink and evaluate its The authors also integrate TCA with ROS using
performance using qualitative and quantitative a ROSProxyNode developed with ROSJAVA.
analysis. The communication protocol is based On the other hand, large cloud computing
on JSON serialized messages exchanged between service provided developed their own platforms
the robots, the cloud, and the users. The perfor- for developing robotics applications through the
mance study was conducted on an open-loop spi- cloud. As a matter of fact, Amazon Web Services
ral trajectory control application using Turtlesim (AWS) provides the AWS RoboMaker service
simulator for both ROS and ROSLink deployed (2019) that enables users to develop and deploy
on the cloud. mobile robots applications through AWS cloud
The strength of the ROSLink service-oriented services. It supports ROS-enabled robots and also
architecture is that it easily promotes the integra- provides computation offloading services to per-
tion of ROS-enabled robots into the Internet of form machine learning and data analytics for data
Things using Web services. However, the perfor- collected from the robots.
mance of robotics applications using ROSLink
heavily depends on the network quality of ser-
vice. This remains a challenge that must be thor- Computation Offloading
oughly investigated.
In Mahmoud and Mohamed (2014), the au- The idea of computation offloading came from
thors present a service-oriented architecture for the fact that robots, in particular with low-cost
collaborative drones. They propose a mapping systems, have limited energy, processing, and
Service-Oriented Computing in Robotic 9
Service-Oriented
Computing in Robotic,
ROSLink
Fig. 5 ROSLink Cloud
Architecture (Koubaa et al.
2017a)
ROSLink ROSLink ROSLink
Client Proxy Bridge
Control,
ROSLink
Monitor
Cloud ROS
App
drivers
Robot HW
storage capabilities. In fact, robots can process One of the first contributions in this area is
sensor data using multiple onboard processors. the DaVinci project reported in Arumugam et al.
Nonetheless, some other types of robots, namely, (2010). The DaVinci server acts as a proxy that
drones or even ground mobile robots, may have relays the access between robots and users. It
limited onboard computing and storage capabil- also supports the Hadoop Distributed File System
ities, which are typically due to the constraints (HDFS) and Robot Operating System (ROS).
on their dimensional, power, and payload require- The objective of DaVinci is to offload intensive
ments. On the other hand, robotics applications computation from the resources of the robots
typically require massive computations and stor- to a back-end cluster system in the cloud. The
age requirements, in particular applications us- idea was to investigate the possibility of parallel
ing computer vision, signal processing, real-time execution of complex robotics algorithms and to
map building, location, and navigation, to name a apply it to the FastSLAM algorithm as a proof
few. Thus, instead of overwhelming robots with of concept. The deployment did not consider
such intensive computation, it is transferred to a network latencies and delays, which limit the
remote server located on a cloud platform for pro- results to ideal operational conditions.
cessing and then returning the results or actions In Mohanarajah et al. (2015), Hunziker
to the robot. This is the concept of computation et al. proposed Rapyuta in the context of the
offloading. RoboEarth project. In this project, a cloud S
In the recent years, there have been several at- engine was devised to promote collaboration
tempts to integrate robots with the cloud through between robots, managing robotics resources,
service-oriented and web interfaces. It has to and share knowledge among robots through
be noted that this becomes possible nowadays an open-source cloud robotics framework.
with the great expansion of available bandwidth Rapyuta is deployed on Amazon Web Services
through the Internet allowing the real-time ex- cloud where computation is offloaded from the
change of data with high data rate requirements robots for processing on the cloud. The cloud
through high-speed networks either through land- platform provides a secure and elastic computing
lines or optical fiber cables or even wireless com- environment and in addition compatibility with
munication, which now supports very high band- ROS. Communication between robots uses the
widths up to 200 Mbps and more. Furthermore, WebSockets protocol to provide a full-duplex
the evolution of cloud computing platforms has communication channel between robots.
made it possible to leverage abundant computing In Bartels et al. (2015), the authors proposed
resources on the cloud for processing-intensive OpenEASE, which is a knowledge-based frame-
applications. work that allows to share data between robots and
humans. The system is composed of a database
10 Service-Oriented Computing in Robotic
that contains a large set of semantically annotated poses to use the cloud to solve complex problems
data collected from humans and robots during related to motion planning of manipulators. The
complex manipulation tasks. It contains all in- computation load is split between the robot local
formation about the manipulation tasks such as machine and the cloud. The evaluation study
the environment of the mission, the manipulated demonstrated the effectiveness of using the cloud
objects, the tasks executed, and the behavior to compute roadmap data structures.
generated. A Web browser and Websocket API Salmeron-Garcia et al. (2015) conducted a
interfaces are used to send queries and visualize study to demonstrate the effectiveness of com-
the manipulation mission. putation offloading to the cloud in the context
In Mohanarajah et al. (2014), the authors ad- of vision-based navigation assistance of a service
dressed the problem of collaborative 3D map- robot. Data is offloaded from a stereo camera
ping on the cloud using low-cost robots. They sensor on the robot to a private cloud built using
proposed an architecture based on the Rapyuta OpenStack. The experimental evaluation demon-
cloud engine to process visual odometry coming strated that computation offloading improved the
from robots, which will perform parallel opti- navigation experience of the robot as compared
mization and merging of maps produced by other to all processing being done onboard.
robots. The results of optimization are pushed In 2016, Lei et al. propose the Cloud Robotics
back to the robots. The authors evaluated the per- Visual Platform (CRVP) for offloading computer
formance of cloud-based collaborative 3D map- vision application from the robot to the cloud.
ping in terms of accuracy, bandwidth and stor- The Hadoop MapReduce framework was used to
age requirements, and execution time. The entry reduce the time of learning and recognition pro-
demonstrated that the cloud-based architecture cesses. The authors designed a service-oriented
contributes to increasing the number of cooper- architecture to build the recognition engine and
ative low-cost robots performing accurate map- deployed on Amazon Elastic Compute System
ping and localization. It has been shown that the (ECS) on Amazon Web Services cloud. The ex-
experimental implementation resulted in maps periments were conducted on a face recognition
with quality comparable to those performed by application applied to 600 images, with a recog-
more expensive robot hardware. The bandwidth nition execution time around 60 ms.
requirement is as small as 0.5 MB/s, which is
within the range of typical wireless networks.
This prototype demonstrates how the integration Recommended Readings
of robots with cloud computing opens a new hori-
zon for low-cost robots to perform more complex In the previous section, we presented an overview
computation-intensive tasks. of the main related works in the literature for each
In Bingwei et al. (2014) the authors proposed category of service-oriented robotics computing
a Cloud-Enabled Robotics System (CERS) where systems. However, this list is not exhaustive and
robots outsource their heavy computations to a there far more works in the literature. In this sec-
server deployed in a cloud platform. The entry tion, we provide pointers to some recommended
also discussed security aspects while integrating readings for the reader to get more insights into
robots with the cloud. The proposed system was the cloud robotics area.
evaluated with a real-time video tracking applica- The survey in Chaari et al. (2016) presents
tion and compared the performance obtained by a comprehensive overview of cyber-physical
virtual machines and physical machines clusters. clouds including robots. This survey is a good
In Bekris et al. (2015) the authors investigated starting point to take a bird’s-eye view on efforts
the opportunities in industrial automation with being done in the integration of cyber-physical
the advanced in cloud computing. The entry pro- systems (namely, robots, sensors, and vehicles)
Service-Oriented Computing in Robotic 11
into the Internet of Things and cloud. In addition, Crick C, Jay GT, Osentoski S, Pitzer B, Jenkins OC (2011)
Kehoe et al. (2015) provides a detailed survey rosbridge: Ros for non-ros users. In: International sym-
posium on robotics research (ISRR 2011), Flagstaff,
on cloud robotics research and is organized Aug 2011
into four categories, including Big Data, Cloud Gharibi M, Boutaba R, Waslander SL (2016) Internet of
Computing, Collective Learning, and Human drones. IEEE Access 4:1148–1162
Computation. Kehoe B, Patil S, Abbeel P, Goldberg K (2015) A survey
of research on cloud robotics and automation. IEEE
Trans Autom Sci Eng 12(2):398–409
Koubaa A (2014) A service-oriented architecture for
Cross-References virtualizing robots in robot-as-a-service clouds. In:
Architecture of computing systems – ARCS 2014:
27th international conference, Lübeck, 25–28 Feb
⊲ Embedded Computing in Robotics
2014. Proceedings. Springer International Publishing,
⊲ Robot Software Programming Cham, pp 196–208 [Online]. Available: https://doi.org/
10.1007/978-3-319-04891-8_17
Koubaa A (2015) ROS as a service: web services for robot
operating system. J Softw Eng Robot 6(1)
References Koubaa A, Qureshi B (2018) Dronetrack: cloud-based
real-time object tracking using unmanned aerial vehi-
Arumugam R, Enti VR, Bingbing L, Xiaojun W, Baskaran cles. IEEE Access PP:1–1
K, Kong FF, Kumar AS, Meng KD, Kit GW (2010) Koubaa A, Alajlan M, Qureshi B (2017a) ROSLink:
Davinci: a cloud computing framework for service bridging ROS with the internet-of-things for cloud
robots. In: 2010 IEEE international conference on robotics. In: Springer book of robot operating system
robotics and automation (ICRA), May 2010, pp 3084– (ROS), Vol 2, May 2017
3089 Koubaa A, Qureshi B, Sriti M-F, Javed Y, Tovar E
Aws Robomaker (2019) Aws Robomaker: Amazon cloud (2017b) Dronemap planner: a service-oriented cloud-
robotics platform [Online]. Available: https://aws. based management system for the internet-of-drones.
amazon.com/robomaker/ In: The 17th international conference on autonomous
Bartels G, Beetz M, Bessler D, Tenorth M, Winkler J robot systems and competitions (ICARSC 2017), Apr
(2015) How to use openease: an online knowledge 2017
processing system for robots and robotics researchers Koubaa A, Qureshi B, Sriti M-F, Allouch A, Javed Y,
(demonstration). In: Proceedings of the 2015 interna- Alajlan M, Cheikhrouhou O, Khalgui M, Tovar E
tional conference on autonomous agents and multia- (2019) Dronemap planner: a service-oriented cloud-
gent systems, AAMAS’15. International Founda- based management system for the internet-of-drones.
tion for Autonomous Agents and Multiagent Systems, Ad Hoc Netw 86:46–62
Richland, pp 1925–1926 [Online]. Available: http://dl. Kuffner J (2010) Cloud-enabled robots. In: IEEE-RAS
acm.org/citation.cfm?id=2772879.2773507 international conference on humanoid robots. IEEE
Lei Y, Fengyu Z, Yugang W, Xianfeng Y, Yang Z, Zhumin
Bekris K, Shome R, Krontiris A, Dobson A (2015) Cloud
C (2016) Design of a cloud robotics visual platform. In:
S
automation: precomputing roadmaps for flexible ma-
nipulation. IEEE Robot Autom Mag 22(2):41–50 2016 sixth international conference on instrumentation
Bingwei L, Yu C, Erik B, Khanh P, Dan S, Genshe C measurement, computer, communication and control
(2014) A holistic cloud-enabled robotics system for (IMCCC), July 2016, pp 1039–1043
real-time video tracking application. In: Future infor- Mahmoud S, Mohamed N (2014) Collaborative UAVs
mation technology. Lecture notes in electrical engineer- cloud. In 2014 international conference on unmanned
ing, vol 276. Springer, Berlin/Heidelberg, pp 455–468 aircraft systems (ICUAS), May 2014, pp 365–373
Brugali D, Da Fonseca A, Luzzana A, Maccarana Y Mahmoud S, Mohamed N (2015) Broker architecture for
(2014) Developing service oriented robot control sys- collaborative UAVs cloud computing. In: 2015 inter-
tem. In: 2014 IEEE 8th international symposium on national conference on collaboration technologies and
service oriented system engineering (SOSE), Apr 2014, systems (CTS), June 2015, pp 212–219
pp 237–242 MAVLINK (2019) The MAVLINK protocol, website:
Chaari R, Ellouze F, Koubaa A, Qureshi B, Pereira http://qgroundcontrol.org/mavlink/start
N, Youssef H, Tovar E (2016) Cyber-physical sys- Mohanarajah G, Usenko V, Singh M, Waibel M, D’Andrea
tems clouds: a survey. Comput Netw 108:260– R (2014) Cloud-based collaborative 3D mapping in
278 [Online]. Available: http://www.sciencedirect. real-time with low-cost robots. IEEE Trans Autom Sci
com/science/article/pii/S1389128616302699 Eng 12(2):481–493
12 Service-Oriented Computing in Robotic
Mohanarajah G, Hunziker D, D’Andrea R, Waibel M architectural decision. In: Proceedings of the 17th in-
(2015) Rapyuta: a cloud robotics platform. IEEE Trans ternational conference on world wide web. WWW’08.
Autom Sci Eng 12(2):481–493 ACM, New York, pp 805–814 [Online]. Available:
Osentoski S, Jay G, Crick C, Pitzer B, DuHadway C, https://doi.org/10.1145/1367497.1367606
Jenkins OC (2011) Robots as web services: repro- Salmeron-Garcia J, Inigo-Blasco P, del Rio FD, Cagigas-
ducible experimentation and application development Muniz D (2015) A tradeoff analysis of a cloud-based
using rosjs. In: 2011 IEEE international conference on robot navigation assistant using stereo image process-
robotics and automation (ICRA) ing. IEEE Trans Autom Sci Eng 12(2):444–454
Pautasso C, Zimmermann O, Leymann F (2008) Restful
web services vs. “big” web services: making the right