The RAPP store is part of the RAPP ecosystem, created as the store front-end for the RAPP Project funded by the EU under the FP7 framework. The RAPP ecosystem is a proof-of-concept tool, using ROS, Node.JS and HOP.js. It allows robots with limited or low computational resources, to perform complex algorithms (Speech to text, Computer vision, etc) on a cloud platform. The framework focused on Aldebaran's NAO robot, and INRIA's ANG-MED.
Currently there exist no Robotics cloud platforms running as a service (PaaS) or (RaaS). RAPP fills that niche, by allowing computer vision, speech to text and other computationally expensive algorithms to be delegated to a cloud platform.
Thus the cost of running, for example, a 200ms algorithm on a robot, is reduced to the network latency (e.g., 35ms) plus the execution time on the cloud platform. This approach not only delegates computational resources, but also allows for better asynchronicity on the robot, since the robot is free to run multiple calls with only bandwidth handling consuming resources.
Simply put, if four algorithms with each costing 200ms on the robot (with a core Intel ATOM, raspberry pi or similar) instead of summing to 800ms, would instead cost only the network delay because the cloud platforms parallelises those algorithms and frees up resources on the robot.
By using NVIDIA CUDA we massively parallelise Computer Vision, Deep Learning and other algorithms, where a comparison to CPU execution time is astonishing: an OpenCV ORB (feature detection) on a NAO robot would cost anywhere between 200ms to 600ms, but on a CUDA-based cloud platform will only cost 10ms (plus the network delay).
As of yet, the only mobile robots supporting NVIDIA CUDA, are custom-designed robots using Tegra TK1 or TX1 or large humanoids. Tegra TK1 and TX1 typically cost anywhere between $250 to $500 per TK1/TX1. Instead a 4G USB dongle which will allow any robot to connect via high bandwidth to a cloud node, costs on average $15.
Besides the computational issues, cloud-computing makes for better scalability and sharing of information: navigation maps, occupancy grids and other meta-data usefull across robots (e.g., Robot ontologies based on KnowRob), image classification using BVLC's Caffe and much more are easily accesible and distributable.
RAPP was designed to be used for social inclusion and elderly care: it allows 3rd party developers to build apps using either Python, Node.JS or C++ in a manner which doesn't require them to be experts in robotics or AI. Furthermore, in order to allow for easier development, it supports all those languages in a form of an open-source API.
Last but not least, it allows applications to be built on the cloud store, and then shared with registered robot users (end-users) who can download them and execute them.
However, the research domains are not limited to that scope; other application areas include agricultural robotics, hospitality and the service industries, research in health care and caregiving, as well as industrial applications, drones and UAVs. We're also currently exploring hobby applications and possibilities where RAPP can be used in small UAV for a variety of security applications. Ergo, when a robot or drone is involved and a degree of autonomy is required, RAPP can be used for fast and easy development of apps.