rosbridge: Beyond a Single Robot Cloud Engine

A remix of Rapyuta: The RoboEarth Cloud Engine

In recent years cloud computing has made an entrance into our lives. Naturally, this begs the question how cloud computing can be used in robotics applications. With Rapyuta, the RoboEarth Cloud Engine, an open source software package is released that tries to answer this question. Rapyuta provides an easy solution specifically tailored to robotics applications. With rosbridge, the aim is to provide a general network protocol to allow for many different robot systems and software to seamlessly work together. It is often tempting to evangelize one particular software package or cloud service as a cure-all, similar to proprietary networks of decades past (Novell NetWare anyone?). The critical component is a defined protocol that is not tied to any specific implementation such that any two systems can interoperate simply by sending the proper network messages. This is the goal: a TCP/IP for robotics.

What about Cloud Robotics?

The following preliminary illustration video briefly explains the general motivation:

On the robot side rosbridge Rapyuta uses common web protocols that allow access via a web browser. Like Rapyuta rosbridge and ros.js, rosbridge Rapyuta uses WebSockets for persistent connections and JavaScript Object Notation (JSON) compatible strings for messages. However, because Rapyuta rosbridge provides only an implementation without a protocol specification a subset of the functionality of Rapyuta the two protocols are not compatible. The main reason for this is that rosbridge is an lightweight and general applications-layer protocol to support a wide variety of robot and computing platforms while avoiding code bloat, excessive complexity, and the burden of constant software and build maintenance Rapyuta allows the client to interact with more than one ROS environment, i.e. computing environments, over the same connection, which leads to a more complex protocol for Rapyuta. Defined protocols are the reason a web page written in 1993 (and last modified in 1997) can still be readily viewed in 2013.

This advice from Vint Cerf applies to robotics in addition to modern cloud computing:

Vint Cerf, celebrated “father of the Internet” now working at Google as vice president and chief Internet evangelist, sees parallels between pre-Internet networking and the state of cloud computing today.

In a lively keynote speech January 16 to more than 600 researchers from government, academia and industry at the National Institute of Standards and Technology’s Cloud Computing and Big Data Workshop here, Cerf said that today users interact with cloud computing in a client-server model – information flows between individual users (clients) and the data center (server). The next step in cloud evolution may be clouds interacting directly with each other. He believes that distinct types of specialized clouds (such as for data analysis or large-scale computing) are developing, and there will be a need for a way to transfer data among them without having to download it from one cloud and upload it onto another.

It’s similar to the proprietary networks of 30 years ago, which allowed communications among only computers of the same brand. Then Cerf and Robert Kahn designed TCP/IP, a non-proprietary protocol that tied them together and led to the Internet.

“I have the sense that inter-cloud communication is in the same state of infancy that Internet was in the ‘70s,” Cerf said. “We need something like [TCP/IP] in the cloud environment.”

It is clear that rosbridge nor any other existing software or protocol is the complete answer. As a community, we have taken some good steps in the right direction. However, the history and emergence of TCP/IP for the Internet and HTTP/HTML for the World Wide Web suggest that openness, interoperability, reproducibility, and broader use are critical properties for cloud robotics to be useful and ubiquitous. As in the examples below, these properties have been at the heart of rosbridge since its beginnings and evolution over the past few years. Through good faith discussions and collaborations, development of robotics network protocols that will stand the test of time are within reach for the next generation of robotics research and development.

RosCon2013 Track1 Day2 02 Brandon Alexander – Creating web-enabled robots with Robot Web Tools from OSRF on Vimeo.

Comments are closed.