Conscience Core
CommandLearnToControlMember.h
Go to the documentation of this file.
1 /*
2  * CommandLearnToControlMember.h
3  *
4  * Created on: 17 juin 2024
5  * Author: Max Lhermitte
6  */
7 
8 #ifndef CommandLearnToControlMember_h
9 #define CommandLearnToControlMember_h
10 
11 #include "CommandCommons.h"
12 #include "Util/CscCartography.h"
14 
15 const string SAVING_FILE_CSCNN_PATH_IN_RESOURCES = "TF_Persistence";
16 const string SAVING_PREVIOUS_VERSION_FILE_CSCNN_PATH_IN_RESOURCES = "TF_Persistence/PreviousModels";
17 
18 /*
19  The command receives the id of the member it wants to be able to move as it wishes. And a file .cscnn, describing the neural network producted, is saved to be use later
20  */
23 
24 public:
25  inline static const CommandTypeId COMMAND_ID = "LEARN_TO_CONTROL_MEMBER";
26 
28  const ptr<CscEntityReflexion> &entityReflexion,
29  int memberToControlId,
30  const vector<int> &pivotsIdToIgnoreForMovement);
31 
32  ~CommandLearnToControlMember() override;
33 
34 protected:
35  const CscCommandExecutionResultNone *doExecute(CscEnvironmentSimulator &environmentSimulator) override;
36  ptr<CscEntityReflexion> getEntityReflexion() const override;
37 
38 private:
39  ptr<CscEntityReflexion> entityReflexion;
40  int memberToControlId;
41  vector<int> pivotsIdToIgnoreForMovement;
42  string neuralNetworkModelFileName();
43  void startLearning(CscEnvironmentSimulator &environmentSimulator, CscState *currentState);
44  string neuralNetworkModelFileNameWithDate();
45 };
46 
48 COMMAND_TYPE_BUILDER(LearnToControlMember, CommandLearnToControlMember, ptr<CscEntityReflexion>, int, vector<int>)
49 
50 }
51 
52 #endif // CommandLearnToControlMember_h
conscience_core::bridging::commands::result::CscCommandExecutionResultNone
Definition: CommandExecutionResultNone.h:11
CSC_DLL_IMPORTEXPORT
#define CSC_DLL_IMPORTEXPORT
Definition: os.h:31
SAVING_PREVIOUS_VERSION_FILE_CSCNN_PATH_IN_RESOURCES
const string SAVING_PREVIOUS_VERSION_FILE_CSCNN_PATH_IN_RESOURCES
Definition: CommandLearnToControlMember.h:16
conscience_core::bridging::commands::CommandTypeId
string CommandTypeId
Definition: Command.h:29
CscKeyDirectories.h
conscience_core::bridging::commands::CommandLearnToControlMember
Definition: CommandLearnToControlMember.h:22
conscience_core::bridging::commands
Definition: cartographyCommands.cpp:4
CscState
Definition: CscState.h:24
conscience_core::bridging::commands::CscCommand
Definition: Command.h:40
CscCartography.h
COMMAND_TYPE_BUILDER
#define COMMAND_TYPE_BUILDER(PREFIX, COMMAND_REGISTER_className,...)
Definition: CscCommandAutoParse.h:505
CscEnvironmentSimulator
Definition: CscEnvironmentSimulator.h:35
conscience_core::bridging::commands::COMMAND_REGISTER
COMMAND_REGISTER(CommandFollowKinematicTrajectory, ptr< CscEntityReflexion >, int, const CscState *, string, string, string, string, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float)
CommandCommons.h
SAVING_FILE_CSCNN_PATH_IN_RESOURCES
const string SAVING_FILE_CSCNN_PATH_IN_RESOURCES
Definition: CommandLearnToControlMember.h:15
ptr
std::shared_ptr< T > ptr
Definition: CscCommon.h:29