The emphasis of this project is on applications that enable robots to understand and respond to the intentions and needs of people at risk of exclusion, and especially the elderly. RAPP focuses on two major groups: a) developers of robotic applications and b) anyone who takes care of people at risk of exclusion, such as healthcare professionals, families and neighbors.
Are you a developer of robotic applications?
We offer you the appropriate environment to implement and publish your robotic applications!
1.1 How can RAPP help you?
► You can take the advantage of the provided infrastructure to easily build and include machine learning and personalization techniques to their applications.
► You can easily set up your application using the RAPP store.
► Your application will be uploaded to the RAPP store and everyone will have access to it.
1.1.1 Learn about RAPP Architecture
► RAPP adopts a distributed architecture, where the platform and the store are on the cloud, and the client is on the robot. Together, the controller executing on the robot and the controller executing on the cloud, make up a Robotic Application (RApp).
► The RAPP platform is composed of six major components with different levels of inter-connectivity:
- The RAPP Store , which indexes a collection of RApps which may be downloaded by RAPP users on their robots. It is responsible for: Processing new RApps (Building and Packaging), Indexing and Distributing RApps, Updating RApps.
- The RAPP Improvement Center, which can perform a variety of Machine Learning and Data Mining tasks.
- The Centralized DB, which acts as the central repository of data required for the RAPP Platform. These correspond to processrelated data, RApp specific data, and user-related data.
- The Knowledge Base, which is implemented via an ontology scheme, where anonymous data are stored in order to implement machine learning algorithms.
- The Offline Learning Processes, which involves machine learning components that periodically analyse data stored in the Knowledge Base and the Centralized DB along with metadata and usage logs in order to extract meaningful knowledge.
- The RApp execution workspace, where the cloud agents are deployed and where specific tasks programmed by the developer of a RApp can be executed, which serves a high performance computing entity.
► What bridges all the entities and users, is in fact the RAPP API. Now, the developer should be aware of which parts run on the robot, and which on the cloud, but should not have to dig deep into lower level development of how they intercommunicate, interact or synchronize.
1.1.2 Additional Things you need to know
► As a developer, you need to create an account and log in to the RAPP store in an authenticated manner, in order to become able to submit RApps via an interface. The submitted RApps are cross-compiled for the supported robots, packaged and indexed. Then, they can be distributed at the corresponding robots. If any errors occur during this procedure, you are informed in order to correct them and resubmit the application.
► A Robotic Application can be submitted as pure C++ code, a ROS package (using C++ or Python) and pure JS code. Thus in the cases of C++ code and the ROS package, the compilation is needed, whereas in the JS case the Store proceeds directly to the packaging. The process identifies the source, binaries and dependant components of a RApp, and highlights the metadata procedures required in order to validate and further utilize the RApp within the RAPP Platform.
► In the RAPP store website, a list of the available robots and their capabilities can be retrieved from the centralized DB and be accessible to potential developers to help you develop your RApps.
► RApp-related information like compatibility with certain robot models and their respective software and firmware versions, dependencies on other RApps etc. are stored in the Centralized DB on the platform side and are accessible by the RAPP Store.
1.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. You can find out more at https://github.com/rapp-project/rapp-platform/wiki#3-robotic-applications-rapps-development
►Enrich the RAPP Platform by introducing new off-the-shelve robotic-oriented functionalities. You can find out more at https://github.com/rapp-project/rapp-platform/wiki#4-rapp-platform-enrichment
►Support a new robot in the RAPP Ecosystem. You can find out more at https://github.com/rapp-project/rapp-platform/wiki#5-supporting-new-robots-in-the-rapp-ecosystem
Are you a Robot User?
We offer you Robotic applications tailored to your needs!
Except from developers of robotic applications, RAPP also focuses on robot users. This target group can be seperated in two subgroups:
Healthcare professionals
► Researchers in the field of Social Inclusion, gerontologists
► Medical staff, social workers, care assistants, etc. looking for ICT solutions for ageing well, in particular in the field of robotics
End-users, large public and other interested folks
► Elderly people, disabled people, family members, friends, neighbors
► Associations of people at risk of exclusion
► Related EU-funded projects
► Third parties interested in robotics for social inclusion
2.1 Download RApps to your robot
Access the RAPP Store and find out the appropriate RApp for your needs.
2.2 Suggest a new pilot case
If you have not found any usefull RApps in the RAPP Store or if you have any new pilot cases and Robotic Applications to suggest, we encourage you to contact us.