LiveBaster - self-learning Universal Artificial Intelligence (UAI)

на Русский






   Program interfaces

   Use case for Unity3D



Controlling LiveBaster robots.

   The tasks for the robots are set through the control API and Serial Objectives (SO) and management of Simultaneous Targets (ST).
For example, to force a chicken model to pass 3 control points, you must add 3 consecutive targets: 1, 2, and 3. In order to create a robot cleaner, you need to add at least two ST: remove dust, charge the battery.
STs are performed in accordance with priorities, i.e. the priority to "charge the battery" has to be higher - to pause cleaning to charge the battery.

   Next, LiveBaster will begin to self-teach (mode "learning without a teacher") and look for ways to achieve set goals.
For example, initially the chicken does not know how to walk and does not even know that it has legs, but after a while, it begins to move and successfully passes all 3 checkpoints.

   The mode "training with the teacher" is also always available - you can show the chicken (move his feet) how to walk and it will use these movements to achieve set goals. Here is a complete analogy with the training of a human child - the parents support the child on two legs and the child involuntarily begins to walk, gradually improving their movements.

Core functions


Loads the core.


Frees the core.

id_t LIVEBASTERSHARED_EXPORT LbAddControl( control_t controlType );

controlType - the type of controlling component.

Adds new controlling component to the system.
Returns the identificator of added component.

bool LIVEBASTERSHARED_EXPORT LbDeleteControl( id_t controlId );

controlId - identificator of the component which should be removed from the system.

Deletes the controlling component from the system.

bool LIVEBASTERSHARED_EXPORT LbSave( const wchar_t* pathName );

pathName - address of the knowledge folder.

Saves the knowledge into the file pathName/LiveBaster.lbd.

bool LIVEBASTERSHARED_EXPORT LbLoad( const wchar_t* pathName );

pathName - address of the knowledge folder.

Load the knowledge from the file pathName/LiveBaster.lbd.

Functions of the Basic Component (BC)

action_t LIVEBASTERSHARED_EXPORT LbMakeAction( id_t parentControlId, id_t controlId, target_t inDesiredResult, result_t inResult, kontext_t inKontext );

id_t parentControlId - reserved.
id_t controlId - identificator of the component.
target_t inDesiredResult - required result.
result_t inResult - currently reached result.
kontext_t inKontext - in what conditions the current result was achieved.

Returns the action which is required to be done to reach the required result

bool LIVEBASTERSHARED_EXPORT LbSetMinMax( id_t controlId, action_t actionMin, action_t actionMax );

id_t controlId - identificator of the component.
action_t actionMin - minimum action which can be performed by the organ
action_t actionMax - maximum action which can be performed by the organ

Sets the working range

Control functions of the Simultaneous Targets (ST)


Add new group of simultaneous goals
Returns identificator of the added group of goals.

bool LIVEBASTERSHARED_EXPORT LbAddTarget( id_t controlId, id_t groupId, target_t inDesiredResult );

controlId - identificator of the component.
groupId - identificator of the group of goals.
inDesiredResult - required result (goal).

Add sequential target to groupId group

bool LIVEBASTERSHARED_EXPORT LbDesiredResultIsAchieved( id_t groupId );

groupId - identificator of the group of goals.

Request the state of the desired result - achieved or not.

Control function of the Simultaneous Targets (ST)

Functions Of The Faceted Eye (FE)