* System using SkyAI [#ae7a7b29]

The center of a software using SkyAI is an ''agent class (TAgent)''.  The agent class manages whole module instances, and has a parser of the script language.  The agent class is provided as generic one, that is, available in any applications.  A user instantiates the agent class and calls the parser from the C++ source code (basically, in the main function).

#ref(/SkyAI/skyai3.png,center,zoom,400x0)
CENTER:''Example modular structure around an RL module.''

This figure illustrates an example modular structure around an RL module.
The ''Action Space'' module emits a ''signal control command'' to a low-level controller.
In an on-line learning system, there are several kinds of cycles, such as episode, action, and time step of low-level controller.  The SkyAI modular architecture can handle any kinds of cycles as shown in the figure.

When a module-instantiation directive is written in a script, the agent class instantiate the module, i.e. allocates memory.  The agent class also handles directives from a script to connect modules or to set parameters.

The SkyAI architecture enables to modularize RL algorithms as generic ones.  On the other hand, the user of SkyAI should make task or robot specific modules, such as a low-level robot controller.
Thus, in order to apply SkyAI,

+ the user implements some task or robot specific modules, then 
+ the user builds them with the provided modules and the agent class, finally
+ the user writes a script for a specific task.



Front page   New List of pages Search Recent changes   Help   RSS of recent changes