Skip to content

Class UAbstractImitationConnector

Class UAbstractImitationConnector

  • Defined in File AbstractImitationConnector.h

Inheritance Relationships

Base Type

  • public UObject

Derived Type

class UAbstractImitationConnector : public UObject

Source: Source/Schola/Imitation/Public/ImitationConnectors/AbstractImitationConnector.h

Dependencies: FImitationTrainingState, FInitialState, FTrainingDefinition, IBaseImitationScholaEnvironment, IImitationScholaEnvironment

An abstract class for connectors between Unreal Engine and imitation learning environments.

This class provides the basic structure and functionality for connecting Unreal Engine environments with external expert policies for imitation learning purposes.

Subclassed by URPCImitationConnector


Public Functions

SymbolDetails
UAbstractImitationConnectorConstructor for the abstract imitation connector.
~UAbstractImitationConnectorDestructor for the abstract imitation connector.
InitInitialize this imitation connector with training definitions.
InitInitialize this imitation connector by collecting environments and building training definitions.
SetStatusSet the status of the connector and broadcast appropriate delegates.
SubmitStateWithInitialStateSubmit imitation state to external source with initial state information.
SubmitStateSubmit imitation state to external source without initial state information.
CheckForStartCheck if the connector is ready to start processing.
IsRunningCheck if the connector is currently running.
IsNotStartedCheck if the connector has not started or is closed.
CollectEnvironmentsCollect all imitation environment actors from the current world.
PrepareEnvironmentsPrepare environments for imitation by wrapping them in type-erased interfaces.
StepExecute one step of imitation learning across all environments.

UAbstractImitationConnector

UAbstractImitationConnector()

Constructor for the abstract imitation connector.

Initializes the connector with default values.

Source: Source/Schola/Imitation/Public/ImitationConnectors/AbstractImitationConnector.h

Implementation: Source/Schola/Imitation/Private/ImitationConnectors/AbstractImitationConnector.cpp


~UAbstractImitationConnector

~UAbstractImitationConnector()

Destructor for the abstract imitation connector.

Cleans up environment pointers.

Source: Source/Schola/Imitation/Public/ImitationConnectors/AbstractImitationConnector.h

Implementation: Source/Schola/Imitation/Private/ImitationConnectors/AbstractImitationConnector.cpp

Init

virtual void Init(const FTrainingDefinition &AgentDefinitions)

Initialize this imitation connector with training definitions.

Parameters

AgentDefinitions – [in] The definitions of the agents that will be used for imitation

#DirectionNameTypeDescription
1AgentDefinitionsconst FTrainingDefinition &The definitions of the agents that will be used for imitation

Attributes: virtual

Source: Source/Schola/Imitation/Public/ImitationConnectors/AbstractImitationConnector.h

Implementation: Source/Schola/Imitation/Private/ImitationConnectors/AbstractImitationConnector.cpp

Init

void Init(const TArray<TScriptInterface<IBaseImitationScholaEnvironment>>
&InEnvironments)

Initialize this imitation connector by collecting environments and building training definitions.

Parameters

InEnvironments – [in] Array of environment interfaces to use for imitation

#DirectionNameTypeDescription
1AgentDefinitionsconst FTrainingDefinition &The definitions of the agents that will be used for imitation

Attributes: virtual

Source: Source/Schola/Imitation/Public/ImitationConnectors/AbstractImitationConnector.h

Implementation: Source/Schola/Imitation/Private/ImitationConnectors/AbstractImitationConnector.cpp

SetStatus

void SetStatus(EImitationConnectorStatus NewStatus)

Set the status of the connector and broadcast appropriate delegates.

Parameters

NewStatus – [in] The new status to set

#DirectionNameTypeDescription
1NewStatusEImitationConnectorStatusThe new status to set

Source: Source/Schola/Imitation/Public/ImitationConnectors/AbstractImitationConnector.h

Implementation: Source/Schola/Imitation/Private/ImitationConnectors/AbstractImitationConnector.cpp

SubmitStateWithInitialState

inline virtual void
SubmitStateWithInitialState(const FImitationTrainingState &InState,
const FInitialState &InInitialState)

Submit imitation state to external source with initial state information.

Parameters

  • InState – [in] The imitation training state containing observations, actions, and rewards

  • InInitialState – [in] The initial state after any resets

#DirectionNameTypeDescription
1InStateconst FImitationTrainingState &The imitation training state containing observations, actions, and rewards
2InInitialStateconst FInitialState &The initial state after any resets

Attributes: inline, virtual

Source: Source/Schola/Imitation/Public/ImitationConnectors/AbstractImitationConnector.h

SubmitState

inline virtual void SubmitState(const FImitationTrainingState &InState)

Submit imitation state to external source without initial state information.

Parameters

InState – [in] The imitation training state containing observations, actions, and rewards

#DirectionNameTypeDescription
1InStateconst FImitationTrainingState &The imitation training state containing observations, actions, and rewards

Attributes: inline, virtual

Source: Source/Schola/Imitation/Public/ImitationConnectors/AbstractImitationConnector.h

CheckForStart

inline virtual bool CheckForStart()

Check if the connector is ready to start processing.

Returns:

True if the connector is ready to start

Attributes: inline, virtual

Source: Source/Schola/Imitation/Public/ImitationConnectors/AbstractImitationConnector.h

IsRunning

inline bool IsRunning()

Check if the connector is currently running.

Returns:

True if the connector status is Running

Attributes: inline

Source: Source/Schola/Imitation/Public/ImitationConnectors/AbstractImitationConnector.h

IsNotStarted

inline bool IsNotStarted()

Check if the connector has not started or is closed.

Returns:

True if the connector status is NotStarted or Closed

Attributes: inline

Source: Source/Schola/Imitation/Public/ImitationConnectors/AbstractImitationConnector.h

CollectEnvironments

void CollectEnvironments(
TArray<TScriptInterface<IBaseImitationScholaEnvironment>>
&OutCollectedEnvironments)

Collect all imitation environment actors from the current world.

Parameters

OutCollectedEnvironments – [out] Array populated with found environment interfaces

#DirectionNameTypeDescription
1OutCollectedEnvironmentsTArray< TScriptInterface< IBaseImitationScholaEnvironment > > &Array populated with found environment interfaces

Source: Source/Schola/Imitation/Public/ImitationConnectors/AbstractImitationConnector.h

Implementation: Source/Schola/Imitation/Private/ImitationConnectors/AbstractImitationConnector.cpp

PrepareEnvironments

void PrepareEnvironments(
const TArray<TScriptInterface<IBaseImitationScholaEnvironment>>
&InEnvironments)

Prepare environments for imitation by wrapping them in type-erased interfaces.

Parameters

InEnvironments – [in] Array of environment interfaces to prepare

#DirectionNameTypeDescription
1InEnvironmentsconst TArray< TScriptInterface< IBaseImitationScholaEnvironment > > &Array of environment interfaces to prepare

Source: Source/Schola/Imitation/Public/ImitationConnectors/AbstractImitationConnector.h

Implementation: Source/Schola/Imitation/Private/ImitationConnectors/AbstractImitationConnector.cpp

Step

void Step()

Execute one step of imitation learning across all environments.

Collects expert demonstrations from environments and submits them to the external source.

Source: Source/Schola/Imitation/Public/ImitationConnectors/AbstractImitationConnector.h

Implementation: Source/Schola/Imitation/Private/ImitationConnectors/AbstractImitationConnector.cpp


Public Members

SymbolDetails
OnConnectorStartedDelegate broadcast when the connector starts.
OnConnectorClosedDelegate broadcast when the connector closes.
OnConnectorErrorDelegate broadcast when the connector encounters an error.
EnvironmentsArray of type-erased environment pointers currently used for imitation.
TrainingDefinitionTraining definition containing environment and agent definitions.
StatusCurrent status of the connector.
bFirstStepFlag indicating whether this is the first step (requires reset).

OnConnectorStarted

FImitationConnectorStartedSignature OnConnectorStarted

Delegate broadcast when the connector starts.


OnConnectorClosed

FImitationConnectorClosedSignature OnConnectorClosed

Delegate broadcast when the connector closes.


OnConnectorError

FImitationConnectorErrorSignature OnConnectorError

Delegate broadcast when the connector encounters an error.

Var

TArray<IImitationScholaEnvironment *> Environments =
TArray<IImitationScholaEnvironment *>()

Array of type-erased environment pointers currently used for imitation.


TrainingDefinition

FTrainingDefinition TrainingDefinition = FTrainingDefinition()

Training definition containing environment and agent definitions.


Status

EImitationConnectorStatus Status = EImitationConnectorStatus::Running

Current status of the connector.


bFirstStep

bool bFirstStep = true

Flag indicating whether this is the first step (requires reset).


Protected Functions

SymbolDetails
HandleImitationStepHandle a single step of imitation learning.

HandleImitationStep

void HandleImitationStep(FImitationTrainingState &OutTrainingState,
FInitialState &OutInitialState)

Handle a single step of imitation learning.

This is a protected helper method for processing imitation steps in derived classes.

Parameters

  • OutTrainingState – [out] The updated training state after stepping

  • OutInitialState – [out] The initial state if any resets occurred

#DirectionNameTypeDescription
1OutTrainingStateFImitationTrainingState &The updated training state after stepping
2OutInitialStateFInitialState &The initial state if any resets occurred

Source: Source/Schola/Imitation/Public/ImitationConnectors/AbstractImitationConnector.h

Implementation: Source/Schola/Imitation/Private/ImitationConnectors/AbstractImitationConnector.cpp