Navigation
API > API/Plugins > API/Plugins/LearningAgents
A controller is an object that can be used to construct actions from observations - essentially a hand-made Policy. This can be useful for making a learning agents system that uses some other existing behavior, e.g. we may want to gather demonstrations from a human or AI behavior tree controlling our agent(s) for imitation learning purposes.
| Name | ULearningAgentsController |
| Type | class |
| Header File | /Engine/Plugins/Experimental/LearningAgents/Source/LearningAgents/Public/LearningAgentsController.h |
| Include Path | #include "LearningAgentsController.h" |
Syntax
UCLASS (MinimalAPI, Abstract, HideDropDown, BlueprintType, Blueprintable)
class ULearningAgentsController : public ULearningAgentsManagerListener
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → ULearningAgentsManagerListener → ULearningAgentsController
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| These constructors/destructors are needed to make forward declarations happy. | LearningAgentsController.h | ||
ULearningAgentsController
(
FVTableHelper& Helper |
LearningAgentsController.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~ULearningAgentsController() |
LearningAgentsController.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void EvaluateAgentController
(
FLearningAgentsActionObjectElement& OutActionObjectElement, |
This callback should be overridden by the Controller and produces an Action Object Element from an Observation Object Element. | LearningAgentsController.h |
|
void EvaluateAgentControllers
(
TArray< FLearningAgentsActionObjectElement >& OutActionObjectElements, |
This callback can be overridden by the Controller and produces an array of Action Object Elements, from an array of Observation Object Elements. | LearningAgentsController.h |
|
void EvaluateController () |
Call this function when it is time to evaluate the controller and produce the actions for the agents. | LearningAgentsController.h |
|
void RunController() |
Calls GatherObservations, followed by EvaluateController, followed by PerformActions | LearningAgentsController.h |
|
void SetupController
(
ULearningAgentsManager*& InManager, |
Initializes this object to be used with the given agent interactor. | LearningAgentsController.h |
|
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
ULearningAgentsInteractor * GetInteractor
(
const TSubclassOf< ULearningAgentsInteractor > InteractorClass |
Gets the agent interactor associated with this component. | LearningAgentsController.h |
|
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static ULearningAgentsController * MakeController
(
ULearningAgentsManager*& InManager, |
Constructs a new controller for the given agent interactor. | LearningAgentsController.h |
|