Skip to content

UAbstractGymConnector

class UAbstractGymConnector : public UObject, public IGymConnector

An abstract class for connectors between Unreal Engine and gym environments.

class provides the basic structure and functionality for connecting Unreal Engine environments with external gym environments for training purposes.

Dependencies

This type depends on:

Inherits from: public UObject, public IGymConnector

Subclassed by: UExternalGymConnector

Public Interface

Constructor:

UAbstractGymConnector

UAbstractGymConnector()

Constructor for the abstract gym connector.

Initializes the connector with default values.

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 74, column 1)

Implementation: Schola/Source/Schola/Private/GymConnectors/AbstractGymConnector.cpp (lines 5-7)

Public Functions:

Init

virtual void Init(const FTrainingDefinition &AgentDefinitions)

Initialize this gym connector, setting up services and sending agent definitions.

Note: This function should be implemented by a derived class.

Parameters:

  • AgentDefinitions (const FTrainingDefinition &) – [in] - The definitions of the agents that will be trained.

Attributes: virtual

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 81, column 14)

Implementation: Schola/Source/Schola/Private/GymConnectors/AbstractGymConnector.cpp (lines 9)

Init

void Init()

Initialize this gym connector, collecting environments and training definitions.

Note: Calls the other Init function with the SharedTrainingDefinition.

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 87, column 6)

Implementation: Schola/Source/Schola/Private/GymConnectors/AbstractGymConnector.cpp (lines 11-28)

ResetCompletedEnvironments

virtual void ResetCompletedEnvironments() override

Reset all the environments that have completed.

Attributes: virtual

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 92, column 14)

Implementation: Schola/Source/Schola/Private/GymConnectors/AbstractGymConnector.cpp (lines 30-58)

UpdateEnvironments

virtual void UpdateEnvironments(FTrainingStateUpdate &StateUpdate) override

Update the environments with the new state update.

Parameters:

  • StateUpdate (FTrainingStateUpdate &) – [in] The new state update.

Attributes: virtual

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 98, column 14)

Implementation: Schola/Source/Schola/Private/GymConnectors/AbstractGymConnector.cpp (lines 129-157)

CollectEnvironmentStates

virtual void CollectEnvironmentStates()

Collect all the environment states.

Attributes: virtual

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 103, column 14)

Implementation: Schola/Source/Schola/Private/GymConnectors/AbstractGymConnector.cpp (lines 82-91)

SetStatus

void SetStatus(EConnectorStatus NewStatus)

Set the status of the connector.

Parameters:

  • NewStatus (EConnectorStatus) – [in] The new status of the connector.

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 109, column 6)

Implementation: Schola/Source/Schola/Private/GymConnectors/AbstractGymConnector.cpp (lines 93-108)

SubmitEnvironmentStates

inline virtual void SubmitEnvironmentStates()

Submit environment states to the other end of the connector.

Note: This function should be implemented by a derived class.

Attributes: inline, virtual

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 115, column 14)

ResolveEnvironmentStateUpdate

inline virtual FTrainingStateUpdate * ResolveEnvironmentStateUpdate()

Resolve the environment state update.

Useful for connections that operate off of futures, or otherwise require synchronization.

Returns: The resolved environment state update.

Note: This function should be implemented by a derived class.

Returns: FTrainingStateUpdate *

Attributes: inline, virtual

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 122, column 30)

SubmitPostResetState

inline virtual void SubmitPostResetState(const FTrainingState &States)

Submit the initial state of the environment after a reset to the other end of the connector.

Note: This function should be implemented by a derived class.

Parameters:

  • States (const FTrainingState &) – [in] The states to submit.

Attributes: inline, virtual

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 129, column 14)

UpdateConnectorStatus

void UpdateConnectorStatus(const FTrainingStateUpdate &StateUpdate)

Update the connector status based on a state update.

Parameters:

  • StateUpdate (const FTrainingStateUpdate &) – [in] The state update to base the new status on.

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 135, column 6)

Implementation: Schola/Source/Schola/Private/GymConnectors/AbstractGymConnector.cpp (lines 110-122)

UpdateConnectorStatus

void UpdateConnectorStatus()

Update the connector status based on the last state update.

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 140, column 6)

Implementation: Schola/Source/Schola/Private/GymConnectors/AbstractGymConnector.cpp (lines 124-127)

Enable

inline virtual void Enable()

Enable the connector.

Useful for multistage setup as it is called after init.

Note: This function should be implemented by a derived class.

Attributes: inline, virtual

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 146, column 14)

CheckForStart

inline virtual bool CheckForStart()

Check if the connector is ready to start.

Returns: True if the connector is ready to start.

Note: This function should be implemented by a derived class.

Returns: bool

Attributes: inline, virtual

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 153, column 14)

GetCurrentStateUpdate

inline virtual FTrainingStateUpdate * GetCurrentStateUpdate()

Get the latest state update.

Returns: The last state update.

Returns: FTrainingStateUpdate *

Attributes: inline, virtual

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 159, column 30)

IsRunning

inline bool IsRunning()

Get if the connector is running.

Returns: True if the connector is running.

Returns: bool

Attributes: inline

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 165, column 6)

IsNotStarted

inline bool IsNotStarted()

Get if the connector is closed.

Returns: True if the connector is closed.

Returns: bool

Attributes: inline

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 171, column 6)

CollectEnvironments

virtual void CollectEnvironments() override

Collect all the EnvironmentManagers in the simulation.

Attributes: virtual

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 176, column 6)

Implementation: Schola/Source/Schola/Private/GymConnectors/AbstractGymConnector.cpp (lines 60-70)

RegisterEnvironment

void RegisterEnvironment(AAbstractScholaEnvironment *Env)

Register an environment with the subsystem so that it can be controlled by the subsystem.

Parameters:

  • Env (AAbstractScholaEnvironment *) – [in] A pointer to the environment to be registered.

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 182, column 6)

Implementation: Schola/Source/Schola/Private/GymConnectors/AbstractGymConnector.cpp (lines 72-80)

Public Members:

FTrainingStateUpdate * CurrentStateUpdate

FTrainingStateUpdate * CurrentStateUpdate

The current state update from the environments.

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 44, column 22)

FConnectorStartedDelegate OnConnectorStarted

FConnectorStartedDelegate OnConnectorStarted

Delegate for when the connector starts.

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 47, column 27)

FConnectorClosedDelegate OnConnectorClosed

FConnectorClosedDelegate OnConnectorClosed

Delegate for when the connector closes.

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 50, column 27)

FConnectorErrorDelegate OnConnectorError

FConnectorErrorDelegate OnConnectorError

Delegate for when the connector encounters an error.

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 53, column 26)

EConnectorStatus Status

EConnectorStatus Status = = EConnectorStatus::Running

The status of the connector.

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 57, column 18)

TArray<AAbstractScholaEnvironment *> Environments

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

The environments that are currently being trained.

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 61, column 8)

FTrainingState TrainingState

FTrainingState TrainingState = = FTrainingState()

The states of the environments that are currently being trained.

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 65, column 16)

FTrainingDefinition TrainingDefinition

FTrainingDefinition TrainingDefinition = = FTrainingDefinition()

The shared training definition for the environments that will be trained.

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 69, column 21)

Used By: UExternalGymConnector, UScholaManagerSubsystem, UScholaManagerSubsystemSettings

Source: Schola/Source/Schola/Public/GymConnectors/AbstractGymConnector.h (line 38, column 1)