UAbstractImitationConnector
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
class UAbstractImitationConnector : public UObjectMethods
Public
UAbstractImitationConnector
UAbstractImitationConnector()Constructor for the abstract imitation connector.
UAbstractImitationConnector
~UAbstractImitationConnector()Destructor for the abstract imitation connector.
Init
virtual void Init(const FTrainingDefinition &AgentDefinitions)Initialize this imitation connector with training definitions.
Parameters
AgentDefinitions(const FTrainingDefinition)
Init
void Init(const TArray<TScriptInterface<IBaseImitationScholaEnvironment>> &InEnvironments)Initialize this imitation connector by collecting environments and building training definitions.
Parameters
InEnvironments(const TArray<TScriptInterface<IBaseImitationScholaEnvironment>>)
SetStatus
void SetStatus(EImitationConnectorStatus NewStatus)Set the status of the connector and broadcast appropriate delegates.
Parameters
NewStatus(EImitationConnectorStatus)
SubmitStateWithInitialState
inline virtual voidSubmitStateWithInitialState(const FImitationTrainingState &InState, const FInitialState &InInitialState)Submit imitation state to external source with initial state information.
Parameters
-
InState(const FImitationTrainingState) -
InInitialState(const FInitialState)
SubmitState
inline virtual void SubmitState(const FImitationTrainingState &InState)Submit imitation state to external source without initial state information.
Parameters
InState(const FImitationTrainingState)
CheckForStart
inline virtual bool CheckForStart()Check if the connector is ready to start processing.
IsRunning
inline bool IsRunning()Check if the connector is currently running.
IsNotStarted
inline bool IsNotStarted()Check if the connector has not started or is closed.
CollectEnvironments
void CollectEnvironments( TArray<TScriptInterface<IBaseImitationScholaEnvironment>> &OutCollectedEnvironments)Collect all imitation environment actors from the current world.
Parameters
OutCollectedEnvironments(TArray<TScriptInterface<IBaseImitationScholaEnvironment>>)
PrepareEnvironments
void PrepareEnvironments( const TArray<TScriptInterface<IBaseImitationScholaEnvironment>> &InEnvironments)Prepare environments for imitation by wrapping them in type-erased interfaces.
Parameters
InEnvironments(const TArray<TScriptInterface<IBaseImitationScholaEnvironment>>)
Step
void Step()Execute one step of imitation learning across all environments.
Protected
HandleImitationStep
void HandleImitationStep(FImitationTrainingState &OutTrainingState, FInitialState &OutInitialState)Handle a single step of imitation learning.
Parameters
-
OutTrainingState(FImitationTrainingState) -
OutInitialState(FInitialState)
Attributes
OnConnectorStarted
FImitationConnectorStartedSignature OnConnectorStartedDelegate broadcast when the connector starts.
OnConnectorClosed
FImitationConnectorClosedSignature OnConnectorClosedDelegate broadcast when the connector closes.
OnConnectorError
FImitationConnectorErrorSignature OnConnectorErrorDelegate broadcast when the connector encounters an error.
Environments
TArray<IImitationScholaEnvironment *> Environments = TArray<IImitationScholaEnvironment *>()Array of type-erased environment pointers currently used for imitation.
FTrainingDefinition
FTrainingDefinition TrainingDefinition = FTrainingDefinition()Training definition containing environment and agent definitions.
Status
EImitationConnectorStatus Status = EImitationConnectorStatus::RunningCurrent status of the connector.
bFirstStep
bool bFirstStep = trueFlag indicating whether this is the first step (requires reset).
Source: Source/ScholaImitation/Public/ImitationConnectors/AbstractImitationConnector.h