-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Figure 1 presents the general structure of the RAPP system, consisting of agents residing in the cloud and a robot.
Figure 1: General structure of RAPP system
The cloud part of the system contains a repository agent a_rep
(repository storing all RAPP applications - RApps in short) and a cloud agent a_cloud
(representing external services).
Each robot contains a specific core agent a_core
, which governs both NAO effectors and receptors.
RApps are composed of a single dynamic agent a_dyn
executed on a robot and might be supplemented with agents running in the cloud.
More information of the general structure of RAPP system can be found in here...
Figure 2: Files flow in RAPP system development
Preparation of hardware for RAPP development requires on virtual machine download of source code of ROS. It is downloaded to ws_ros/src folder
. Additionally it is required to download ROS dependent software packages to ws_ros_additional_packages/src
workspace folder and ROS independent software packages (such as hop, bigloo, etc.) to ws_ros_additional_packages/programs
workspace folder.
Core agent source code is downloaded from rapp-robot-nao
github repository to ws_rapp_nao/src
workspace folder.
RApps source code is cloned from rapp-applications
github repository to ws_rapp_applications/src
folder. Then in workspace ws_rapp_applications_nao
there is created a symbolic link to ws_rapp_applications/rapp-applications/nao/src
with the name src
. Any changes in a ws_rapp_applications_nao/src
folder will influence on ws_rapp_applications/rapp-applications/nao/src
folder contents.
Square lines with arrows on Figure 2 represent installation process in each of workspaces. Libraries and ROS packages are installed in workspace's install_isolated
folders.
Each install_isolated
folder from a given virtual machine workspace is copied to the Nao corresponding workspace.
- Structure of RAPP project repositories on github - short explanation of the most important RAPP- and NAO-related repositories.
Required system on virtual machine: Gentoo (the same as on Nao robot!)
The virtual machine is required for development, compilation and installation of Core and Dynamic Agents for Nao robot. For this reason it depends on many different libraries and tools that must be installed beforehand. The following tutorials explain how to prepare your own virtual machine.
-
Structure of virtual machine - describes the general structure of directories and dependencies of Virtual Machine
-
Installation of virtual machine - contains instructions regarding installation of Oracle VM Virtual Box along with image of OpenNAO Virtual Machine.
-
Installation of necessary packages - explains how to download, compile and install required ROS packages and libraries.
Required system on Nao robot: Aldebaran RT (based on Gentoo)
After preparation of the OpenNAO Virtual Machine you must perform analogous operations of the NAO robot itself. The following tutorials explain how to do it.
-
[Structure of directories on Nao robot] (https://github.com/rapp-project/rapp-robot-nao/wiki/Structure-of-directories-on-Nao-robot) - description of the most important directories on NAO robot.
-
Configuration and copying of libraries to NAO robot - contains list of the libraries that must be installed on NAO and explains how to configure and install them.
As the RAPP system is a multi-agent distributed system, it is required to start its subsystems/agents in a proper order. Please follow the tutorials below in order to compile, upload and run Core, prepare your PC to work as a local RApp rapository and, finally, how to execute dynamic agent (RApps).
-
Download and compilation of core agent on Virtual Machine - explains how to compile the core agent
-
Upload of core agent from Virtual Machine to NAO - explains how to upload the core agent-related binaries from Virtual Machine to NAO.
- Launching ROS and HOP on NAO - Describes the method of running required libraries (including most important ROS and HOP) on NAO.
- Running Core Agent - explains how to start the Core Agent.
- Download and compilation of Dynamic Agents on Virtual Machine - explains how to compile the code of dynamic agents.
- Creation of hz packages on Virtual Machine - explains how to pack the binaries of dynamic agents into hz files.
Required system: Ubuntu 14.04
The RApps (Dynamic Agents) can be downloaded from the RAPP store (a_rep
) or from your own PC emulating the RAPP store. In order to emulate the RAPP store you must install the several required libraries, set up the HOP server and copy generater eariler hz packages from virtual machine to the right directory on PC. The following tutorials describe how to prepare your PC to work as RAPP repository.
- Installation of required libraries on PC - describes the required libraries along with the procedure of their installation.
- Running and configuration of HOP server on PC - explains how to configure the HOP server
- Sending hz packages from Virtual Machine to Repository - explain methods and scripts for copying hz packages from Virtual Machine to PC-based RAPP repository emulator.
- Running dynamic agents - this tutorial explains how to activate RApp (execute one of the hz packages uploaded to the repository).
The dynamic agent is implemented with the use of API provided by RAPP core developers.
-
Rapp API functions - list of functions constituting the RAPP API.
-
Implementation of exemplary dynamic agent - a tutorial explaining how to implement your own dynamic agent.
-
Creation of hz packages on Virtual Machine - explains how to pack the binaries of dynamic agents into hz files.
-
Sending hz packages from Virtual Machine to Repository - explain methods and scripts for copying hz packages from Virtual Machine to PC-based RAPP repository emulator.
-
Adding new RApp to NAO - explains the method of adding new RApp (hz package) to the repository, so it can be recognized, downloaded and executed by Core Agent running on NAO robot.
##1. General structure of RAPP system
##2. Preparation of hardware for RAPP development
Structure of RAPP project repositories on github
Preparation of virtual machine
Preparation of NAO robot
- [Structure of directories on Nao robot] (https://github.com/rapp-project/rapp-robot-nao/wiki/Structure-of-directories-on-Nao-robot)
- Configuration and copying of libraries to NAO robot
##3. Running the RAPP system
Preparation of core agent
- Download and compilation of core agent on Virtual Machine
- Upload of core agent from Virtual Machine to NAO
Running core agent on NAO
##3. Testing dynamic agents on virtual machine