See discussions, stats, and author profiles for this publication at: [Link]
net/publication/280804605
Cloud Robotics using ROS
Conference Paper · April 2014
CITATIONS READS
3 782
4 authors, including:
Adarsha Kharel Dhruba Ningombam
Technische Universität Chemnitz Sikkim Manipal Institute of Technology
1 PUBLICATION 3 CITATIONS 5 PUBLICATIONS 7 CITATIONS
SEE PROFILE SEE PROFILE
Some of the authors of this publication are also working on these related projects:
Cloud Robotics View project
All content following this page was uploaded by Dhruba Ningombam on 03 August 2019.
The user has requested enhancement of the downloaded file.
International Journal of Computer Applications® (IJCA) (0975 – 8887)
National Conference cum Workshop on Bioinformatics and Computational Biology, NCWBCB- 2014
Cloud Robotics using ROS
Adarsha Kharel Dorjee Bhutia Sunita Rai
SMIT SMIT SMIT
Majitar Majitar Majitar
East Sikkim East Sikkim East Sikkim
Dhruba Ningombam
SMIT
Majitar
East Sikkim
ABSTRACT between processes, and many others. So, ROS is not an
The application of the cloud computing concept to robots is operating system but a “metaoperating system” [13] for robot
called Cloud Robotics. It is a concept that utilizes the services software which consists of a number of small tools to allow
of the cloud so that robots can have learning abilities. Since sharing of data between independent programs. ROS is an
applications for Cloud Robotics have to be developed in a open source robot operating system that provides:
platform, majority of the cloud application developers choose Hardware abstraction.
ROS for it. Robot Operating System (ROS) is an open source Low-level device control.
middleware that has a collection of inter-programming Message Passing.
language headers to allow the sharing of data between
Package Management.
independent programs. ROS provides a graph-like structure
for cloud robotics. A new library for ROS that is a pure Java
implementation, called rosjava, allows Android applications 2. CLOUD ROBOTICS
to be developed for robots. Since Android has a booming Generally, all the information that a robot has is contained
market and billion users, it would be a huge leap in the field within itself and there is very little scope for learning new
of Cloud Robotics. things. So, there is a need of storing robot information in the
Internet so that new things can be learnt easily and application
General Terms for robots can share common features. This leads us to the
Cloud Robotics concept of “Cloud Robotics.”
The term “Cloud-enabled robotics” was presented by James
Keywords Kuffner for the first time at the IEEE RAS International
Cloud Computing (CC), Cloud Robotics (CR), Personal
Conference on Humanoid Robotics in 2010. Now, we know it
Robot (PR) 2, Robot Operating System (ROS)
more commonly as Cloud Robotics (CR) [13]. There are 4
1. INTRODUCTION basic sequence of robotic actions associated with Cloud
Networked Robotics has a long history but Cloud Robotics is Robotics [as performed by Willow Garage’s PR2 robot].
a relatively recent term. “Robotics on Cloud” is a concept that
utilizes data collected from robots and sensor networks by Data capturing by the robot: In this step, there is a 2D
creating cloud storage to save the information and reusing it at camera and a 3D scanner which detects the object on-
the time of need. It uses the help of the Internet to increase a board of the robot. The output is a 2D image and a 3D
robot’s capabilities by reducing on-board computation and point cloud, but only the 2D image is sent for
providing services on demand. Since robots will be connected processing to the cloud server.
to the cloud, they can communicate with each other and Data Processing on cloud servers: The server returns a
exchange useful information among each other. This off- 3D CAD model of the object to the robot if it was able
board computing is called Cloud Computing. Massive parallel to identify the object based on the 2D image.
computation and real-time sharing of data resources are the Processed data is applied: In this step, the robot
basic services provided by Cloud Computing. determines the object’s position and orientation based
Since our discussion is on robots and the development of on the obtained 3D CAD model and the measured 3D
Robotic applications, we must know what a Robotic point cloud. The robot, then, applies its functionality
middleware is. There is an abstraction layer that resides thereafter.
between the operating system and the software application Sending feedback to the server: Finally, the robot
which is designed to manage the heterogeneity of the sends the results of the functionality back to the server
hardware, improve software application quality, simplify so that the server’s database can be trained for further
software design, and reduce development costs. This is known use.
as a robotic middleware. ROS is one such middleware. Elkady Cloud Robotics has the prospective to considerably advance a
and Sobh [3], in their discussion on Robotics Middleware, robot's working in human environments. Currently, under the
described the objectives of ROS as a middleware which mainstream research of robotics and artificial intelligence
provides services of the operating system such as low-level (AI), Cloud Robotics is considered to be one of
device control, hardware abstraction, message-passing
18
International Journal of Computer Applications® (IJCA) (0975 – 8887)
National Conference cum Workshop on Bioinformatics and Computational Biology, NCWBCB- 2014
Fig: Robot Cloud Center Architecture, taken from
reference # [21]
Cloud Computing provides 3 basic types of services:
the most looked-upon research fields [11]. The existing cloud- Software as a Service (SaaS): In this model, software
computing infrastructure is based upon a service-oriented application is hosted as a service and end-users use the
architecture. The key focus of the research on Cloud Robotics application on the browser.
is to look at the likelihood of using this existing infrastructure.
For various robotic applications of the future, the main aim in Platform as a Service (PaaS): In this model, the end user
this field is to establish a shared network resource in order to creates, tests, and uploads applications using tools and
make robots more scalable. libraries hosted by the service provider.
Infrastructure as a Service (IaaS): This model involves hosting
3. CLOUD COMPUTING of hardware computing services like storage, hard drive,
Commonly, Computing Clouds [18] are classified into 3 servers and network components.
types: Public Clouds, Private Clouds, and Hybrid Clouds.
Another type of cloud is Community Cloud. When a Cloud is 4. ROBOT OPERATING SYSTEM
offered to the common public in a pay-as-you-go approach, Willow garage preserves ROS as an open source project [20]
we call it a Public Cloud. The term Private Cloud is used to which offers a graph-like pattern for networked robotics. It
refer to internal data-centers of any organization which is not was developed by Stanford in 2007 under the name
made available to the common public. A Hybrid Cloud is a Switchyard [2] originally. Robot Operating System (ROS)
combination of public as well as private clouds. provides package tools and operating system-like tools [1].
Cloud computing services hierarchy is topped by Cloud Basically, as a collection of inter-programming language
Robotics, a new paradigm and a System of Systems in itself headers, ROS allows independent, individual programs,
[4]. referred to in ROS nomenclature as nodes, to share data
between themselves [10]. ROS is based on nodes, messages,
topics, and services. In ROS, Nodes are the software modules
or processes in the control code. Nodes communicate with
each other through message passing i.e., passing multiple
messages. A special type of message, called service, consists
of a pair of messages, one for request and the other for reply.
Nodes can publish and subscribe to a single (or multiple)
topics.
Jonathan Bohren, in ROS Crash-Course Part I [6], mentioned
that ROS is:
Not an OS but a “meta” operating system for robots.
A set of different tools for packaging and software
building.
Architecture for distributed intra-/inter-machine
communication and configuration.
System runtime and data analysis development tools.
Under permissive BSD licenses, it is open-source
Fig 2: Cloud Computing Service Models, along with (ROS core libraries).
service layers and Robot as a service topped by Cloud Has an architecture that is language-independent
Robotics [S. Jordan et al in “The rising prospects of (C++, python, lisp, Java, and more).
cloud robotic applications”].
19
International Journal of Computer Applications® (IJCA) (0975 – 8887)
National Conference cum Workshop on Bioinformatics and Computational Biology, NCWBCB- 2014
A platform that is scalable (ARM CPUs to Xeon capabilities relying on the Robot Operating System (ROS)
Clusters). [10].
We chose ROS over other Robotic middleware because ROS
is much more easy to use and flexible and as per the needs of
He also mentioned that ROS is not: the user. Since it is an open-source platform for robot
An actual operating system (OS). software development, it is all the more easy to maintain.
A programming language to write codes. “The primary goal of ROS is to support code reuse in robotics
A programming environment / Integrated research and development.” - from [Link] [13].
Development Environment (IDE).
A hard real-time architecture. Focusing on the primary goal of ROS, we can use it in cloud
robotics so that code created for one robot can be easily
reused in others too.
Jürgen Hess et al mentioned that there is more to ROS [7]: Aldebaran Nao [2] is a commercially existing humanoid robot
(De-)Serialization under the board. that is around 60 cm tall and is targeted at research labs and
Central multi-level logging. classrooms. The Nao robot is small in size; still it has a lot to
Preemptible actions, service calls. present even with its miniature frame. It has features like four
Centralized time. microphones, multiple touch sensors on the robot’s head, two
VGA cameras, several infrared (IR) sensors, and many more.
According to a site [Link] [16], “ROS (Robot Operating The use of Nao [14] with the Robot Operating System has
System) is a BSD-licensed system for controlling robotic shown how quickly and easily open-source code can enable a
components from a PC.” There are a number of independent community to come and work together around one common
nodes in any ROS system. Each node communicates with one hardware platform.
another using a ‘publish/subscribe’ messaging model. For
example, an infrared sensors’ driver can be thought of as a
node that publishes sensor data in a stream of messages.
These messages could be used by several other nodes.
The developers at Google and Willow Garage have developed
a rosjava library [14]. This new library is the first
implementation of ROS using pure Java and was developed at
Google with the goal of enabling sophisticated Android
applications for cloud robotics. Since the entire library, tools,
and the hardware that come along with Android devices are
perfectly suited for robotics, Cloud Robotics with ROS can be
a very good platform for the future of robotics development.
5. USING ROS IN CLOUD ROBOTICS
ROS can be used to create robots that can be used for our
daily purposes and Cloud Robotics would help us augment the
information contained in these robots. So, basically, we use
ROS to develop robotic applications and CR to maintain
them.
The Personal Robot (PR2) is a portable manipulation platform
built by Willow Garage [14]. The entire (PR2) software
structure is written with the help of ROS leading to which all
Fig 4: Aldebaran Robotics NAO H25 Humanoid Robot
PR2 capabilities are available to use via ROS interfaces. So,
[9].
Cloud robotics using ROS is not too far from sight. In days to
come, Robot operating system can be used to develop robotic 6. FUTURE ASPECTS OF CLOUD
applications that will work with the cloud in the cloud.
ROBOTICS
Future robotic applications will benefit from cloud robotics,
which provides the following advantages over traditional
networked robots [19].
Future Robots will have the ability to offload
computation-intensive tasks to the cloud. The robotic
platform becomes lighter and less expensive with easier
to maintain hardware. To enable real-time actions, the
robots only have to keep necessary sensors, actuators,
and basic processing power. The maintenance of
software onboard with the robots also becomes simpler,
with less need for regular updates. The operational life
and usefulness of the robotic network can be extended
quite easily since the cloud hardware can be upgraded
independently from the robotic network.
Fig 3: PR2 is a generic research platform widely used
for cloud applications. The PR2 has demonstrated various
20
International Journal of Computer Applications® (IJCA) (0975 – 8887)
National Conference cum Workshop on Bioinformatics and Computational Biology, NCWBCB- 2014
Future Robots will have access to shared knowledge [8] L. Youseff, M. Butrico, D. Da Silva,
and new skills. A medium is provided by the cloud for “Toward a Unified Ontology of Cloud Computing. In
the robots to share information, learn new skills, and Grid Computing Environments Workshop,” 2008.
acquire additional knowledge from each other. The
[9] NAO H25 | Humanoid Robot | Active Robots [online]
cloud can host a database or library of skills or
Available: [Link]
behaviors that map to different task requirements and
[Link]
environmental complexities.
Future Robots will have access to large amounts of [10] Parker James Conroy, “The Development Of An Aerial
data. The robots can acquire knowledge to execute tasks Robotics Laboratory Highlighting The First
through databases in the cloud. They do not have to Experimental Validation Of Optimal Reciprocal
deal with the creation and maintenance of data that Collision Avoidance,” August 2013.
comes in and goes out of the cloud.
[11] Priyanki Jayantilal Vashi, “Cloud Robotics: An
7. CONCLUSION emerging research discipline.”
ROS supports the philosophy of modular, tool-based software [12] Robotic Evolution. ROS — the Artificial Intelligence
development in Robots. Even though ROS cannot be used as a for Robots. Available:
framework for all Robotics software development, it can be [Link]
extended by other software systems in future so that not only [Link], 2011.
a specific set of challenges are met but every new challenge is
considered and a solution is found. Cloud Robotics has a very [13] Robot Operating System [online] Available:
essential challenge of determining the optimal ratio between [Link]
online and offline computation. ROS can further be extended
[14] Robots using ROS: Aldebaran Nao [online] Available:
to create a balance in the online and offline computation done
[Link]
by robots.
[Link]
8. REFERENCES [15] Robots/PR2 – ROS Wiki [online] Available:
[1] Aaron Staranowicz, Gian Luca Mariottini, “A survey and [Link]
comparison of commercial & open-source robotic
simulator software”. [16] ROS 101: Intro to the Robot Operating System [online]
Available: [Link]
[2] A. Bargar, “A comprehensive ROS interface for the operating-system.
Aldebaran NAO,” August 2012.
[17] S. Jordán, T. Haidegger, L. Kovács, I. Felde, and I.
[3] Ayssam Elkady and Tarek Sobh, “Robotics Middleware: Rudas, “The rising prospects of Cloud Robotic
A comprehensive literature survey and attribute-based Applications,” July 2013.
bibliography”, Jan 2012.
[18] Victor Chang, Robert John Walters, Gary Wills,
[4] E. Guizzo, “Robots with their heads in the clouds,” IEEE “Review of Cloud Computing and Existing Frameworks
Spectrum, 2011. for Cloud Adoption.”
[5] Jit Ray Choudhary, “ROS: Robot Operating System.” [19] Wee Peng Tay, Yonggang Wen, and Guoqiang Hu,
“Cloud Robotics: Architecture, Challenges, and
[6] Jonathan Bohren, “Introduction to ROS distribution,
Applications.”
build system and infrastructure.”
[20] Willow Garage, “Robot operating system,” 2010.
[7] Jürgen Hess, Felix Endres, Armin Hornung, Bastian
Steder, and Jürgen Storm, “ROS: Open Source Robot [21] Zhihui Du, Weiqiang Yang, Yinong Chen, Xin Sun,
Operating system.” Xiaoying Wang, Chen Xu, “Design of a Robot Cloud
Center.”
21
View publication stats