Skip to content
Manos Tsardoulias edited this page Nov 11, 2016 · 109 revisions

##1. RAPP Ecosystem

RAPP provides a robot agnostic approach by introducing a middleware stack with added functionalities suitable for different kinds of robots. In this way, developers will be able to utilize a common API (RAPP Robot API) in order to access the robot’s sensors and actuators. A number of high level services and functionalities for implementing RApps are also offered by the RAPP Platform and are accessible through the RAPP Platform API. The RAPP Platform offers a cloud-based solution that lifts the underlying robotic hardware computational and storage limitations and enables advanced machine learning operations, distributed data collection and processing, as well as knowledge sharing among robots. The developed RApps are hosted in the proposed RAPP Store, which is ultimately expected to have an important effect in the robotic application market. The adoption of a common API will provide developers with the versatility needed to address people with different needs, capabilities and expectations, while simultaneously respecting their privacy and autonomy.

##2. Get involved!

There are three levels of technical involvement in RAPP:

  • Create robotic applications for a robot already supported by RAPP Ecosystem by using the RAPP Platform API and the RAPP Robot API
  • Enrich the RAPP Platform by introducing new off-the-shelve robotic-oriented functionalities
  • Support a new robot in the RAPP Ecosystem

Below, the necessary documentation, tutorials and examples for each of the involvement levels are presented.

##3. Robotic Applications (RApps) development

There are three concepts involved with the creation of robotic applications:

  • Create a stand-alone application to manipulate the robot
  • Create an application that uses RAPP Platform web services
  • Upload and distribute your application

For all the above cases you must have a robot supported by RAPP, either in its physical form or in simulation. Right now, the only consumer robot supported is NAO, by SoftBank robotics.

In order to test the created applications in your robot, specialized software must be installed first, called the Core Agent of each robot (for more information check the RAPP Architecture). You can find information on how to install this software, by following the below links:

  • For NAO robot:
    • If you want to create C++ RApps: NAO robot Core Agent
    • If you want to create Python RApps you don't have to install a Core Agent, since NAOQi uptakes this task.

###3.1. How to... create stand-alone RApps

###3.2. How to... creating RApps that use RAPP Platform functionalities

###3.3. How to... upload and distribute your RApps.

##4. RAPP Platform enrichment

In order to enrich the RAPP Platform with new functionalities, you must gain knowledge on the overall RAPP Architecture. In order to do this visit the following link: RAPP Architecture & component diagram.

Furthermore, you must be aware of the RAPP Platform multithreading policy, since RAPP Platform is meant to be deployed in the cloud. You can find more information here: RAPP Multithreading issues.

##5. Supporting new robots in the RAPP Ecosystem

###RAPP Web services

###RAPP Nodes

####RAPP Nodes under development

###Tutorials / Q&A:

####General - Before the installation

####After the installation

####Ways to improve rapp-platform

####Full tutorials

#####RAPP Platform

#####Robotic applications

Clone this wiki locally