Robohub.org
 

Rapyuta: The RoboEarth Cloud Engine


by
25 February 2013



share this:

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.

What about Cloud Robotics?

The following video briefly explains the general motivation:

Generally, a robotics application interacts with its environment using sensors and actuators. This implies that the data produced by the sensors has to be processed and is normally used as feedback to determine the next action. For actions without hard real-time requirements, processing can be moved to the cloud. This reduces the necessary computing power on the robot, which can improve operation duration for mobile systems and may decrease costs.

Cloud Computing

Simplified cloud model: Each robot is connected to its own clone in the cloud (rectangular boxes), which are tightly interconnected with each other and with the databases (circular disks).

Many common high-level robotics tasks, such as planning or mapping, don’t require hard real-time. Mapping, for example, involves storing a reusable description of the environment to allow the robot to localize a landmark or itself. Additionally, maps can be used on a large scale to plan trajectories for moving to a landmark or on a small scale to grasp an object, which in turn might include querying an object database for grasp points to get the best position to grab the object. Because planning can be done ahead of time (i.e. act instead of react), it has no hard real-time constraints.

The advantages of offloading computation to the cloud can be even more pronounced when considering collaborative robot scenarios. For example, sharing data when creating a common map, or negotiating a cooperative plan when performing a common task can be more easily achieved with a centralized architecture with powerful computational capabilities.

RoboEarth allows robots to share knowledge in a centralized knowledge base. This centralized approach has the advantage of avoiding duplicate information and the necessity to constantly exchange newly generated knowledge to avoid duplicate learning. However, to benefit from the full potential of this approach not only requires a centralized storage of knowledge, but also centralized reasoning, i.e. a framework for cloud computation for robots.

The missing piece

Until now, RoboEarth only provided data storage for robots. With the introduction of Rapyuta, the RoboEarth Cloud Engine, the missing piece in the cloud infrastructure for robots is added. Rapyuta provides a platform where robots can create computing environments to offload there heavy computation into the cloud. These computing environments can either function as a personal cloud for individual robots or be shared by multiple robots. Additionally, computing environments have high-bandwidth connections to the RoboEarth database, allowing their processes to quickly access knowledge.

Technical aspects

Simplified overview of Rapyuta: The robots are connected to Rapyuta's communications module in the cloud. Similarly, the cloud applications running inside the computing environments (LXC) are also connected to the communications module. The module manages communications from and to all connected elements.

Simplified overview of Rapyuta: The robots are connected to Rapyuta’s communications module in the cloud. Similarly, the cloud applications running inside the computing environments (LXC) are also connected to the communications module. The module manages communications from and to all connected elements.

To simplify the deployment and interaction of the cloud applications Rapyuta, similar to the Google App Engine, defines a protocol for cloud applications. However, in contrast to Google’s model where only web requests are used to communicate directly with the cloud application, Rapyuta introduces an additional layer. This means, a robot does not communicate directly with a cloud application, but uses Rapyuta as a medium. This model gives more flexibility and control over the system. For example, Rapyuta can be used as a relay to communicate directly between robots without the creation of a computing environment. Furthermore, the additional layer implies that Rapyuta allows to run multiple processes using sockets to communicate with each other. Google’s App Engine, however, prevents this, because web applications have no need for communicating processes to service web requests.

On the robot side Rapyuta uses common web protocols that allow access via a web browser. Like rosbridge and ros.js, Rapyuta uses WebSockets for persistent connections and JavaScript Object Notation (JSON) compatible strings for messages. However, because rosbridge provides only a subset of the functionality of Rapyuta the two protocols are not compatible. The main reason for this is that 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.

On the cloud application side the message system defined by the Robot Operating System (ROS) is used. This allows to deploy and run most of the more than 3’000 existing ROS packages (i.e., ROS applications) with minimal to no changes in the RoboEarth Cloud Engine.

To separate the ROS nodes, i.e. the cloud applications, for different users, Rapyuta provides individual computing environments. A robot can have many computing environments and a computing environment can be used by many robots, which allows a variety of deployment models. Linux Containers (LXC) were chosen for the implementation of computing environment to securely control all operational aspects such as communication as well as CPU, RAM, and disk usage. Additionally, Rapyuta allows different computing environments to communicate with each other using the ROS messaging system.

Rapyuta is open source. The Rapyuta Alpha release is available on github under the Apache License, Version 2.0.

For more information have a look at the Rapyuta documentation.

Further reading:



tags: , , , ,


Dominique Hunziker


Subscribe to Robohub newsletter on substack



Related posts :

Robot Talk Episode 147 – Miniature living robots, with Maria Guix

  06 Mar 2026
In the latest episode of the Robot Talk podcast, Claire chatted to Maria Guix from the University of Barcelona about combining electronics and biology to create biohybrid robots with emergent properties.

Developing an optical tactile sensor for tracking head motion during radiotherapy: an interview with Bhoomika Gandhi

  05 Mar 2026
Bhoomika Gandhi discusses her work on an optical sensor for medical robotics applications.

Humanoid home robots are on the market – but do we really want them?

  03 Mar 2026
Last year, Norwegian-US tech company 1X announced “the world’s first consumer-ready humanoid robot designed to transform life at home”.

Robot Talk Episode 146 – Embodied AI on the ISS, with Jamie Palmer

  27 Feb 2026
In the latest episode of the Robot Talk podcast, Claire chatted to Jamie Palmer from Icarus Robotics about building a robotic labour force to perform routine and risky tasks in orbit.

I developed an app that uses drone footage to track plastic litter on beaches

  26 Feb 2026
Plastic pollution is one of those problems everyone can see, yet few know how to tackle it effectively.

Translating music into light and motion with robots

  25 Feb 2026
Robots the size of a soccer ball create new visual art by trailing light that represents the “emotional essence” of music

Robot Talk Episode 145 – Robotics and automation in manufacturing, with Agata Suwala

  20 Feb 2026
In the latest episode of the Robot Talk podcast, Claire chatted to Agata Suwala from the Manufacturing Technology Centre about leveraging robotics to make manufacturing systems more sustainable.

Reversible, detachable robotic hand redefines dexterity

  19 Feb 2026
A robotic hand developed at EPFL has dual-thumbed, reversible-palm design that can detach from its robotic ‘arm’ to reach and grasp multiple objects.



Robohub is supported by:


Subscribe to Robohub newsletter on substack




 















©2026.02 - Association for the Understanding of Artificial Intelligence